Computer networks couple various types of computer systems in a manner that enables the network coupled computer systems to access data from a variety of sources of information. Some computer networks allow media content to be streamed from one or more network coupled sources of media content to one or more network coupled receivers of media content. In such computer networks, media content can be streamed by media content servers and played back by media content playback systems that are associated with the media content receivers.
The multitude of network devices often results in various pieces of content being located on a plurality of different devices. In a home network for example, there may be multiple personal video recorders (PVR), computers, and set top boxes, each with different content. The ability for a user to conveniently use a single device to access content from various devices on the network is highly desirable. Thus, in order to ensure a good user experience, the playback experience of the user should be near or the same as the playback experience as if the user was at the device which holds the desired content.
Various groups have worked toward the standardization of new protocols for file distribution in home networks. These standards have focused primarily on file based or file-centric content, including movies, recorded TV shows, home videos, and music files. Thus, the standards are well suited for the access of static or unchanging files.
Each device throughout the network may have varying protocol and playback support. This variation in support increases the chance that a device or client requesting content will not support certain protocols or be able to play back content in its current format. For example, a file may be encoded in the MPEG-4 format but the requesting device may only support playback of MPEG-2. Therefore, to allow playback on the requesting device, the device hosting the data or host may need to convert the file to a new format for playback on the requesting device.
As the original file, which contains the content in the original format, is converted to a new format, it may be streamed to the requesting device in realtime. During the conversion, the converted file, containing the converted content), will be getting larger as more of the file is converted to the new format. Correspondingly, the duration of the converted file increases as more of the file is converted to the new format.
Under the current standards the current file duration will only be transmitted at the beginning of streaming to the client device. Thus, when the client device starts to play the content being converted by playing the converted file, the playback will be based on information initially received about the duration, which will be based on the amount of the content successfully converted to that point. Upon reaching said file duration, the playback program will initiate end of stream (EOS) procedures which, among other things, include freeing up memory and network resources. Thus, if the playback device initiates EOS procedures based on the initially received duration at the start of playback, the playback may end well before the end of the content in the original file has been reached because the content is still being converted.
This duration issue may also arise in the case where a file is being downloaded, streamed, or broadcast to the host computer and the user wishes to view the file on another device. Furthermore, that content may be in a format that is supported by the host but not the client device. For example, content may be broadcast to the host as part of an Internet Protocol Television (IPTV) stream-encoded using the MPEG-4 format but the client device may not support the playback of an MPEG-4 stream. In this case, the content will require conversion prior to playback on the requesting device. In each case, the host may stream the content to the client device as the host receives it in the original or a different format. Again, only the initial length of the piece of content being converted may be provided at the beginning of streaming to the client device. Therefore, the playback device may initiate EOS procedures prematurely based on said initial duration.